import { Logger } from './logger.js';
import fs from 'fs';

/**
 * 验证配置是否存在
 * @param {string} configName - 配置名称
 * @param {Object} configs - 配置对象
 * @throws {Error} 配置不存在时抛出异常
 */
export function validateConfigExists(configName, configs) {
  if (!configs[configName]) {
    const availableConfigs = Object.keys(configs).join(', ') || '无';
    throw new Error(`配置不存在: ${configName}\n可用配置: ${availableConfigs}`);
  }
}

/**
 * 验证本地文件是否存在
 * @param {string} filePath - 文件路径
 * @throws {Error} 文件不存在时抛出异常
 */
export function validateLocalFileExists(filePath) {
  if (!fs.existsSync(filePath)) {
    throw new Error(`本地文件不存在: ${filePath}`);
  }
}

/**
 * 验证本地目录是否存在
 * @param {string} dirPath - 目录路径
 * @throws {Error} 目录不存在时抛出异常
 */
export function validateLocalDirExists(dirPath) {
  if (!fs.existsSync(dirPath)) {
    throw new Error(`本地目录不存在: ${dirPath}`);
  }
}
